package org.mokusakura.domain;

//import com.ibatis.common.util.PaginatedArrayList;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

public class Cart implements Serializable {

    private static final long serialVersionUID = 8329559983943337176L;
    private final Map<String, CartItem> itemCartItemMap = new HashMap<>();
    private BigDecimal total = new BigDecimal(0);

    public void addCartItem(String itemId, CartItem cartItem) {
        itemCartItemMap.put(itemId, cartItem);
    }

    public BigDecimal getTotal() {
        calculateTotal();
        return total;
    }

    private void calculateTotal() {
        total = total.subtract(total);
        for (CartItem cartItem : itemCartItemMap.values()) {
            total = total.add(cartItem.getTotal());
        }
    }

    public Map<String, CartItem> getItemCartItemMap() {
        return itemCartItemMap;
    }

}
